package day04;

import java.util.Scanner;

public class OutRound {
	public static void main(String args[]) {
		int n, m;
		Scanner sca = new Scanner(System.in);
		System.out.println("请输入全中总人数：");
		n = sca.nextInt();
		System.out.println("请输入报数圈数值：");
		m = sca.nextInt();
		int[] a = new int[n]; // 这个数组存放实际的人数；
		int[] b = new int[n]; // 这个数组存放a中出圈 的人
		for (int i = 0; i < a.length; i++) { // 给a数组赋值，初始化
			a[i] = i + 1; // 给a数组里面的值赋值，初始化
		}
		int i = 0; // 循环访问数组下标
		int d = 1;// 当前人报的数
		int k = 0;// 当前的出圈人数
		while (k < n) { // 循环，如果出圈的人数小于总人数，
			if (a[i % n] == 0) { // a[i%n],表示这个数组位子上的实际值,[i%n]数组的位置:i是循环访问数组的下标值,
				i++;
				continue;
			} else if (d == m) {
				b[k] = a[i % n]; // 存a数组出来的人
				a[i % n] = 0;
				d = 1;
				k++;
				i++;
			} else {
				i++;
				d++;
			}
		}
		System.out.println("出圈人顺序:");
		for (int j = 0; j < b.length; j++) {
			System.out.print(b[j] + " " + '\t');
		}

	}
}
